#!/bin/bash

# 脚本头部注释：
# 该脚本用于在Ubuntu系统上安装Docker，并配置镜像加速器。
# 使用方法：./script_name.sh <image_url>
# 其中<image_url>是您希望使用的Docker镜像加速器地址。

# 更新包索引
apt-get update

# 安装必要的软件包
apt-get install ca-certificates curl

# 添加Docker的官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 添加Docker的APT源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# 安装Docker CE、CLI和containerd.io
apt -y install docker-ce docker-ce-cli containerd.io

# 创建 /etc/docker 目录（如果不存在）
mkdir -p /etc/docker

# 获取传入的第一个参数作为镜像加速器URL
image_url=$1

# 检查是否提供了 image_url 参数
if [ -z "$image_url" ]; then
  echo "Usage: $0 <image_url>"
  exit 1
fi

# 将配置写入 /etc/docker/daemon.json，替换变量
tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["$image_url"]
}
EOF

# 重新加载systemctl守护进程以应用更改
systemctl daemon-reload

# 重启Docker服务以应用新的配置
systemctl restart docker

# 测试Docker安装是否成功
docker run hello-world

# 清理所有停止的容器
docker rm $(docker ps -a -q)

# 删除hello-world镜像
docker rmi hello-world